package com.leif.remark.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.leif.remark.domain.dto.LikeRecordFormDTO;
import com.leif.remark.domain.po.LikedRecord;

import java.util.List;
import java.util.Set;

/**
 * <p>
 * 点赞记录表 服务类
 * </p>
 *
 * @author 虎哥
 */
public interface ILikedRecordService extends IService<LikedRecord> {

    /**
     * 点赞和取消点赞接口
     *
     * @param recordDTO
     */
    void addLikeRecord(LikeRecordFormDTO recordDTO);

    /**
     * 根据业务ID集合查询是否点过赞
     *
     * @param bizIds
     * @return
     */
    Set<Long> isBizLiked(List<Long> bizIds);


    /**
     * 定时扫描点赞数量
     * 基于Redis的sortedSet类型统计点赞数量MQ异步发送通知
     *
     * @param bizType
     * @param maxBizSize
     */
    void readLikedTimesAndSendMessage(String bizType, int maxBizSize);

}
